package com.yilu.driver.mvp.contract;

import com.is.common.base.BaseModel;
import com.is.common.base.BasePresenter;
import com.is.common.base.BaseView;
import com.is.common.retrofitrxcache.RxCacheResult;
import com.yilu.driver.entity.ApplyGraduationResponse;
import com.yilu.driver.entity.StageGraduationResponse;

import org.json.JSONObject;

import rx.Observable;

/**
 * @author Administrator
 * @date 2017/4/17 0017
 */

public interface StageGraduationContract {
    interface Model extends BaseModel {
        //已经结业学员列表
        Observable<RxCacheResult<StageGraduationResponse>> getStageGraduationList(JSONObject json);

        //加载学员报考名单
        Observable<RxCacheResult<ApplyGraduationResponse>> getApplyGraduationList(JSONObject json);
    }

    interface View extends BaseView {
        //更新UI
        void returnStageGraduation(StageGraduationResponse stageGraduationResponse);

        void returnApplyGraduation(ApplyGraduationResponse applyGraduationResponse);

    }

    abstract class Presenter extends BasePresenter<View, Model> {
        //发送获取结业学员列表请求
        public abstract void getStageGraduation(JSONObject json);

        //发送获取学员报考名单列表请求
        public abstract void getApplyGraduation(JSONObject json);

    }
}
